//
//  ZProgressManager.m
//  cnwan
//
//  Created by xchuang on 2017/10/20.
//  Copyright © 2017年 xchuang. All rights reserved.
//

#import "ZProgressManager.h"
#import <SVProgressHUD.h>
@implementation ZProgressManager
+ (void)showProgress:(CGFloat)progress
{
    [SVProgressHUD showProgress:progress];
}
+ (void)show
{
    [SVProgressHUD show];
}
+ (void)dismiss
{
    [SVProgressHUD dismiss];
}
+ (void)showInfo:(NSString *)info
{
    [SVProgressHUD showInfoWithStatus:info];
    [ZProgressManager progressHide];
}
+ (void)showError:(NSString *)error
{
    [SVProgressHUD showErrorWithStatus:error];
     [ZProgressManager progressHide];
}
+ (void)showSuccess:(NSString *)success
{
    [SVProgressHUD showSuccessWithStatus:success];
    [ZProgressManager progressHide];
    
}
//static dispatch_source_t timer;
//static int count = 0;
+ (void)progressHide
{

//
//    //1.创建GCD中的定时器
//    /*
//     第一个参数:source的类型DISPATCH_SOURCE_TYPE_TIMER 表示是定时器
//     第二个参数:描述信息,线程ID
//     第三个参数:更详细的描述信息
//     第四个参数:队列,决定GCD定时器中的任务在哪个线程中执行
//     */
//     timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue());
//
//    //2.设置定时器(起始时间|间隔时间|精准度)
//    /*
//     第一个参数:定时器对象
//     第二个参数:起始时间,DISPATCH_TIME_NOW 从现在开始计时
//     第三个参数:间隔时间 2.0 GCD中时间单位为纳秒
//     第四个参数:精准度 绝对精准0
//     */
//    dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 2.0 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);
//
//    //3.设置定时器执行的任务
////    __weak typeof(self) weakSelf = self;
//
//    dispatch_source_set_event_handler(timer, ^{
//        NSLog(@"GCD---%@",[NSThread currentThread]);
//        count++;
//        if (count) {
//            count = 0;
//            NSLog(@"GCD====%@",[NSThread currentThread]);
//            [SVProgressHUD dismiss];
//            dispatch_source_cancel(timer);
//        }
//
//    });
//
//    //4.启动执行
//
//    dispatch_resume(timer);
//
////    self.timer = timer;
    
    
    int64_t delayInSeconds = 1.0;      // 延迟的时间
    /*
     *@parameter 1,时间参照，从此刻开始计时
     *@parameter 2,延时多久，此处为秒级，还有纳秒等。10ull * NSEC_PER_MSEC
     */
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        // do something
        [SVProgressHUD dismiss];
    });

    ZWLog(@"progressHide");
}

@end
